from abc import ABC, abstractmethod
import pandas as pd
from typing import List


class IDataLoader(ABC):
    @abstractmethod
    def load_excel(self, path: str) -> pd.DataFrame:
        pass

    @abstractmethod
    def load_sheet(self, sheet_name: str) -> pd.DataFrame:
        pass

    @abstractmethod
    def load_specific(self, sheet_name: str, columns: List[str]) -> pd.DataFrame:
        pass